<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie du plugin «Langues» pour Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class pLangues
{

	
	
	
	
	protected $core;
	
	
	
	
	
	public function __construct($core)
	{
		$this->core = &$core;
	}
	
	
	public function estOriginale($page_id)
	{
		
		# Est-ce qu'il s'agit d'une page originale?
		$rs = $this->core->con->select(
			'SELECT count(page_originale_id) '.
			'FROM '.$this->core->prefix.'traductions '.
			'WHERE page_originale_id = '.(integer) $page_id
		);
		
		if($rs->f(0) == 0) {
			return false;
		}
		
		return true;
		
	}
	
	
	public function getIdentifiantPageOriginale($page_id)
	{
		
		$rs = $this->core->con->select(
			'SELECT page_originale_id FROM '.$this->core->prefix.'traductions '.
			'WHERE page_traduite_id = '.(integer) $page_id
		);
		
		if($rs->isEmpty()) {
			return false;
		}
		
		return (integer) $rs->page_originale_id;
		
	}
	
	public function getTraductions($page_id)
	{
		
		# Trouvons l'identifiant de la page originale
		if($this->estOriginale($page_id))
		{
			$page_originale_id = (integer) $page_id;
		}
		else
		{
			$page_originale_id = $this->getIdentifiantPageOriginale($page_id);			
		}

		if($page_originale_id === false) {
			return array();
		}
		
		# Trouvons maintenant les traductions
		$rs = $this->core->con->select(
			'SELECT P.page_id, P.page_url, P.page_statut, P.page_langue, P.page_titre '.
			'FROM '.$this->core->prefix.'traductions T '.
			'INNER JOIN '.$this->core->prefix.'pub_pages P ON P.page_id = T.page_traduite_id '.
			'WHERE T.page_originale_id = '.(integer) $page_originale_id
		);
		
		$traductions = array();
		
		while($rs->fetch())
		{
			$traductions[$rs->page_langue] = array(
				'page_id'		=> (integer) $rs->page_id,
				'page_url'		=> $rs->page_url,
				'page_statut'	=> $rs->page_statut,
				'page_langue'	=> $rs->page_langue,
				'page_titre'	=> $rs->page_titre
			);
		}
		
		# Ajoutons la page originale
		$rs = $this->core->con->select(
			'SELECT page_id, page_url, page_statut, page_langue, page_titre '.
			'FROM '.$this->core->prefix.'pub_pages '.
			'WHERE page_id = '.(integer) $page_originale_id
		);
		
		$traductions[$rs->page_langue] = array(
			'page_id'		=> (integer) $rs->page_id,
			'page_url'		=> $rs->page_url,
			'page_statut'	=> $rs->page_statut,
			'page_langue'	=> $rs->page_langue,
			'page_titre'	=> $rs->page_titre
		);
		
		return $traductions;		
		
	}
	
	
}

?>